<!--

/**
 * caller
 */

// 入力画面
var do_input;
function sub_input(module, id){
	if(do_input != undefined) return do_input(module, id);
	
	var frm = document.mainform;
	ajax_do(frm, module, 'id=' + id, setFocus);
}
function setFocus(originalRequest){
	openObj('table_hide', true);
	openClose('table_area', 'table_hide', 'arrow_up.gif', 'arrow_down.gif', false);
	location.href="#input_area_top";
	if(document.inputform != undefined && document.inputform.name != undefined) {
		document.inputform.name.focus();
	}
}

/**
 * main
 */


// 入力エリアを閉じる
function close_input_area(){
	setInnerHtml('input_area', '');
	openObj('table_hide', false);
	openClose('table_area', 'table_hide', 'arrow_up.gif', 'arrow_down.gif', true);
	location.href = '#';
}


// サブミット
function ajax_do(frm, mod, args, func) {
	if(args == undefined) args = '';
	var frm_args = getAllArgs(frm);
	args = (args == '' ? frm_args : frm_args + '&' + args);
	ajax_all('input_area', frm.action_org.value, mod, args, func);
}
function ajax_all(obj_id, act, mod, args, func) {
	var pars = 'a=' + act + '&m=' + mod + '&ajax=1';
	
	if(args != undefined && args != '') {
		if(args.charAt(0) != '&') args = '&' + args;
		pars += args;
	}
	
	pars += param_nocache();
	
	var props = new Array();
	props['method'] = 'post';
	props['parameters'] = pars;
	if(func != undefined) props['onComplete'] = func;

	new Ajax.Updater(obj_id, 'index.php', props);
}


// フォームの基本引数を取得
function ajax_make_arg(frm, obj_name){
	var obj = frm.elements[obj_name];
	if(obj == undefined) return '';
	return '&' + obj_name + '=' + obj.value;
}

function getAllArgs(frm, isPopup, arg_keys){
	var args = '';
	args += getAllArgsByTagName(frm, 'input', isPopup, arg_keys);
	args += getAllArgsByTagName(frm, 'select', isPopup, arg_keys);
	if(!isPopup) args += getAllArgsByTagName(frm, 'textarea', isPopup, arg_keys);
	
	return args;
}
function getAllArgsByTagName(frm, tag_name, isPopup, arg_keys){
	var args = '';
	var elements = document.getElementsByTagName(tag_name);
	var keys = new Array();
	var keys_length = 0;
	if(arg_keys != undefined && arg_keys != '') {
		var arr = arg_keys.split(",");
		for(var i = 0; i < arr.length; i++) {
			keys[arr[i]] = 1;
			keys_length++;
		}
	}
	
	for(var i = 0; i < elements.length; i++) {
		if(elements[i].form != frm) continue;

		var name = elements[i].name;
		var value = elements[i].value;
		
		if(name == 'a' || name == 'm' || name == 'transaction_id' || name == 'search_text' || name == 'popup_subkey') continue;
		if(name == 'id' && isPopup) continue;
		if(name == 'window_id' && isPopup) continue;
		if(name == '' || value == '') continue;
		if(keys_length > 0 && keys[name] != 1) continue;
		
		if(tag_name == 'input' && (elements[i].type == 'radio' || elements[i].type == 'checkbox')) {
			if(!elements[i].checked) continue;
		}
		
		args += '&' + name + '=' + encodeURIComponent(value);
	}
	
	return args;
}

// 削除
function ajax_delete(){
	var frm = document.inputform;
	if(sub_delete_proc(frm, 'sel') == false) return false;
	ajax_do(frm, 'ajax_delete');

}

// 一覧
function ajax_list(){
	var frm = document.inputform;
	ajax_do(frm, frm.elements['m'].value);
}

// ページ行切替
function ajax_change_lines(lines){
	var frm = document.inputform;
	sub_change_lines_proc(frm, lines);
	ajax_list();
}

// ページ切替
function ajax_change_page(page_no){
	var frm = document.inputform;
	frm.elements['page_no'].value = page_no;
	ajax_list();
}
function ajax_add_page(offset, page_no, page_max){
	var frm = document.inputform;
	sub_add_page_proc(frm, offset, page_no, page_max);
	ajax_list();
}

// 並べ替え
function ajax_sort(sort_column, sort_order){
	var frm = document.inputform;
	sub_sort_proc(frm, sort_column, sort_order);
	ajax_list();
}

// 削除チェック
function ajax_change_check(each_name, all_id){
	var frm = document.inputform;
	change_check_proc(frm, each_name, all_id);
}

//-->
